.TH std::chrono::time_point::min 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::chrono::time_point::min \- std::chrono::time_point::min

.SH Synopsis
   static constexpr time_point min();           \fI(until C++20)\fP
   static constexpr time_point min() noexcept;  \fI(since C++20)\fP

   Returns a time_point with the smallest possible duration, i.e.
   time_point(std::chrono::duration::min()).

.SH Parameters

   \fI(none)\fP

.SH Return value

   The smallest possible time_point.

.SH Example


// Run this code

 #include <chrono>
 #include <iomanip>
 #include <iostream>
 #include <ratio>
 #include <string>

 constexpr auto steady_min = std::chrono::steady_clock::time_point::min();

 void animate_frame_at_time_offset(double game_time)
 {
     std::cout << std::string(static_cast<int>(game_time) % 10 + 1, '*') << '\\n';
 }

 int main()
 {
     auto last_frame = steady_min;
     std::chrono::duration<double, std::micro> game_time{0.0};

     for (int n = 0; n < 5; ++n)
     {
         const auto current_frame = std::chrono::steady_clock::now();
         // initialize timer if first frame ever:
         if (last_frame == steady_min)
             last_frame = current_frame;
         game_time += current_frame - last_frame;
         std::cout << "Drawing frame at " << std::setprecision(10)
                   << std::setw(8) << game_time.count() << " μs ";
         animate_frame_at_time_offset(game_time.count());
     }
 }

.SH Possible output:

 Drawing frame at        0 μs *
 Drawing frame at  134.499 μs *****
 Drawing frame at  274.337 μs *****
 Drawing frame at  416.571 μs *******
 Drawing frame at  561.124 μs **
